package co.edu.usbcali.modeloo;

import java.util.HashSet;
import java.util.Set;
import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.Id;
import javax.persistence.OneToMany;
import javax.persistence.Table;

/**
 * LenguajesDeprogramacion entity. @author MyEclipse Persistence Tools
 */
@Entity
@Table(name = "lenguajes_deprogramacion", catalog = "estimacionpreliminar")
public class LenguajesDeprogramacion implements java.io.Serializable {

	// Fields

	private Integer idlenguaje;
	private String nombre;
	private Integer instruccionporlenguaje;
	private Integer totalinstruccionesporlenguaje;
	private Set<Proyectos> proyectoses = new HashSet<Proyectos>(0);

	// Constructors

	/** default constructor */
	public LenguajesDeprogramacion() {
	}

	/** minimal constructor */
	public LenguajesDeprogramacion(Integer idlenguaje) {
		this.idlenguaje = idlenguaje;
	}

	/** full constructor */
	public LenguajesDeprogramacion(Integer idlenguaje, String nombre,
			Integer instruccionporlenguaje,
			Integer totalinstruccionesporlenguaje, Set<Proyectos> proyectoses) {
		this.idlenguaje = idlenguaje;
		this.nombre = nombre;
		this.instruccionporlenguaje = instruccionporlenguaje;
		this.totalinstruccionesporlenguaje = totalinstruccionesporlenguaje;
		this.proyectoses = proyectoses;
	}

	// Property accessors
	@Id
	@Column(name = "IDLENGUAJE", unique = true, nullable = false)
	public Integer getIdlenguaje() {
		return this.idlenguaje;
	}

	public void setIdlenguaje(Integer idlenguaje) {
		this.idlenguaje = idlenguaje;
	}

	@Column(name = "NOMBRE", length = 20)
	public String getNombre() {
		return this.nombre;
	}

	public void setNombre(String nombre) {
		this.nombre = nombre;
	}

	@Column(name = "INSTRUCCIONPORLENGUAJE")
	public Integer getInstruccionporlenguaje() {
		return this.instruccionporlenguaje;
	}

	public void setInstruccionporlenguaje(Integer instruccionporlenguaje) {
		this.instruccionporlenguaje = instruccionporlenguaje;
	}

	@Column(name = "TOTALINSTRUCCIONESPORLENGUAJE")
	public Integer getTotalinstruccionesporlenguaje() {
		return this.totalinstruccionesporlenguaje;
	}

	public void setTotalinstruccionesporlenguaje(
			Integer totalinstruccionesporlenguaje) {
		this.totalinstruccionesporlenguaje = totalinstruccionesporlenguaje;
	}

	@OneToMany(cascade = CascadeType.ALL, fetch = FetchType.LAZY, mappedBy = "lenguajesDeprogramacion")
	public Set<Proyectos> getProyectoses() {
		return this.proyectoses;
	}

	public void setProyectoses(Set<Proyectos> proyectoses) {
		this.proyectoses = proyectoses;
	}

}